package haiyangwangwork.lesson02;

import java.util.Scanner;

/*
案例需求 :通过程序判断一个字符串是否是对称字符串
    "abcba"是对称字符串
    "12321"是对称字符串
    "123321"是对称字符串

    "123123"不是对称字符串

    思路：将字符串反转一下，如果和原字符串内容比较是相同的则说明是对称字符串
    步骤：
        1、接收键盘录入的字符串
        2、将字符串从String类型转换为StringBuilder类型
        3、通过StringBuilder对象对字符串进行反转
        4、将反转之后的字符串从StringBuilder类型转换为String类型
        5、将接收的字符串和反转之后的字符串进行比较，如果相同则说明是对称字符串
        6、如果不相同，则说明不是对称字符串


	String和StringBuilder的互转
        String->StringBuilder
            * 构造方法：StringBuilder(String str)
            *                   // "abc"(String) ->sb(StringBuilder)
            * 例如：StringBuilder sb = new StringBuilder("abc");

        StringBuilder ->String
            * 成员方法：toString()方法
            *               // sb(StringBuilder) -> reserveStr(String)
            * 例如：String reserveStr = sb.toString();
 */
public class StringBuilderTest1 {
    public static void main(String[] args) {

        // 1、接收键盘录入的字符串
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入一个字符串：");
        String s = sc.nextLine();
        // 2、将字符串从String类型转换为StringBuilder类型
        StringBuilder sb = new StringBuilder(s);
        // 3、通过StringBuilder对象对字符串进行反转
        sb.reverse();
        // 4、将反转之后的字符串从StringBuilder类型转换为String类型
        String newStr = sb.toString();

        if (s.equals(newStr)) {
            // 5、将接收的字符串和反转之后的字符串进行比较，如果相同则说明是对称字符串
            System.out.println("[是]对称字符串");
        } else {
            // 6、如果不相同，则说明不是对称字符串
            System.out.println("[不是]对称字符串");
        }

    }
}
